public class Liczba {
    private int n;
    
    public Liczba() {
		this.n = 0;
    }
    
    public Liczba(int n) {
		this.n = n;
    }
    
    public Liczba(String n, int podstawa) throws LiczbaException {
		if(podstawa < 2) {
			throw new LiczbaException("Podstawa musi być większa niż 2");
		}
		if(podstawa > 17) {
			throw new LiczbaException("Podstawa nie może być większa niż 17");
		}

		try {
			this.n = Integer.parseInt(n, podstawa);
		}
		catch(NumberFormatException e) {
			throw new LiczbaException("Nieprawidłowy zapis liczby w systemie o podanej podstawie");
		}
    }
    
    public String zapis(int podstawa) throws LiczbaException {
		if(podstawa < 2) {
			throw new LiczbaException("Podstawa musi być większa niż 2");
		}
		if(podstawa > 17) {
			throw new LiczbaException("Podstawa nie może być większa niż 17");
		}
		String zapis = "";
		int liczba = n;
		int cyfra = 0;
		
		while(liczba >= podstawa) {
			cyfra = liczba % podstawa;
			liczba -= cyfra;
			liczba = liczba / podstawa;
			zapis = Character.forDigit(cyfra, podstawa)+zapis;
		}
		
		if(liczba > 0){
			zapis = Character.forDigit(liczba, podstawa)+zapis;
		}
		
		if(zapis == "")zapis = "0";
		
		return zapis;
    }
}